
package com.ditt.forum.jdbc;

import java.util.Date;
import java.text.DateFormat;

/**
 * Message du forum avec son auteur, son sujet, son texte
 * et sa date de creation.
 */
public class Message
{
  private String auteur;
  private Date   dateCreation = new Date ();
  private String sujet;
  private String texte;

  public Message (Utilisateur auteur, String sujet,
                  String texte)
  {
    if (auteur != null)
      this.auteur = auteur.getPseudonyme();
    this.sujet  = sujet;
    this.texte  = texte;
  }

  public String getAuteur()
  {
    return this.auteur;
  }

  public void setAuteur(String auteur)
  {
    this.auteur = auteur;
  }

  public void setAuteur (Utilisateur auteur)
  {
    this.auteur = auteur.getPseudonyme();
  }


  public boolean estEcritPar (Utilisateur auteur)
  {
    return this.auteur.equals (auteur.getPseudonyme());
  }

  public void setDateCreation(Date date)
  {
    this.dateCreation = date;
  }

  public Date getDateCreation()
  {
    return this.dateCreation;
  }

  public void setSujet(String sujet)
  {
    if (sujet == null)
      this.sujet = null;
    else
      this.sujet = sujet.trim ();
  }

  public String getSujet()
  {
    return this.sujet;
  }

  public void setTexte(String texte)
  {
    if (texte == null)
      this.texte = null;
    else
      this.texte = texte.trim ();
  }

  public String getTexte()
  {
    return this.texte;
  }


  private static DateFormat formatDate  =
            DateFormat.getDateInstance (DateFormat.MEDIUM);
  private static DateFormat formatHeure =
            DateFormat.getTimeInstance (DateFormat.SHORT);

  public String toString ()
  {
    return "De " + this.auteur + " le "
           + formatDate.format (this.dateCreation)
           + " \u00e0 " + formatHeure.format(this.dateCreation)
           + "\nSujet : " + this.sujet
           + "\n" + this.texte;
  }
}
